Commercially available Web browsers such as Internet Explorer and Netscape Navigator support a mechanism by which a Web server can store persistent information on a user's machine for subsequent retrieval. This information is commonly referred to as a “cookie,” and typically includes information about the user's identity. The cookie is stored on the user's computer as a name-value pair (NAME=VALUE), together with a URL (or range of URLs) to which the cookie corresponds and an optional expiration date. When the user initiates a request for a URL that corresponds to the cookie, the browser automatically sends the cookie (and any other cookies that correspond to the requested URL) to the host Web server with the URL request.
One common application for cookies involves dynamically customizing Web pages and functions for known users of a Web site. Typically, this involves storing known information about the user, such as a user ID, on the user's computer in response to a page request. When the user subsequently accesses the Web site, the information contained within the cookie is used to access a back-end database to retrieve additional information about the user, such as the user's preferences or account information. This database information may then be used to customize the requested Web page.
One problem with the above approach is that it requires frequent accesses to the database. For Web sites that experience many thousands of hits per day, the need to access the database can produce a significant performance degradation. The performance degradation may be the result of a limited load capacity of the database system, increased network traffic between physical Web servers and the database system, or both.